Back to Notes

计算机网络 - 基础概念

This post is not yet available in English. Showing the original version.
Table of Contents
Table of Contents

一、什么是互联网(Internet)

1.1 从组成角度看

互联网是由数十亿台终端设备(end system / host) 通过通信链路(communication link)分组交换机(packet switch) 互联而成的全球性网络。

组成要素说明举例
终端设备(Host)网络边缘的设备,运行网络应用PC、手机、服务器、IoT 设备
通信链路(Link)物理传输介质光纤、铜线、无线电波、卫星
分组交换机转发数据分组的设备路由器(router)链路层交换机(switch)
ISP互联网服务提供商,为终端接入互联网中国电信、Comcast、AT&T

核心思想:终端设备之间并非直连,而是通过层层交换机接力转发数据——这就引出了后面的交换方式问题。

1.2 从服务角度看

互联网是为网络应用提供通信基础设施的平台。应用程序通过 API(Socket 接口) 使用网络服务,而无需关心底层如何传输数据。

类比:互联网就像邮政系统,你写好信(数据)、贴上地址(IP),剩下的事交给邮局(网络基础设施)。

1.3 协议(Protocol)

网络中任何通信都遵循协议——即通信双方对消息格式、顺序、动作的约定。

人类类比:打电话时先说"喂?"→ 对方回"你好"→ 才开始说正事。如果一方不遵守约定(比如直接挂断),通信就中断了。


二、网络边缘(Network Edge)

边缘网络(Edge Network) 是指靠近终端用户的那部分网络,包括终端设备(手机、PC、服务器等)以及将它们连接到网络核心的接入网络。它与网络核心(Network Core) 相对——核心负责长距离转发数据,边缘负责产生和消费数据。

2.1 终端设备的两种角色

角色说明
客户端(Client)发起请求的设备(浏览器、手机 App)
服务器(Server)响应请求、提供服务的设备(通常在数据中心)

2.2 接入网络(Access Network)

接入网络是将终端设备连接到第一个路由器(边缘路由器) 的物理链路。

接入方式典型带宽特点
DSL(数字用户线)下行 24 Mbps / 上行 2.5 Mbps利用已有电话线,上下行不对称
电缆(Cable)下行 30 Mbps / 上行 2 MbpsHFC(光纤同轴混合),共享带宽
FTTH(光纤到户)上下行可达 Gbps光纤直接入户,最高速
无线(WiFi / 蜂窝)变化大WiFi 局域、4G/5G 广域
以太网(Ethernet)100 Mbps ~ 10 Gbps企业 / 校园 LAN

关键概念带宽(bandwidth) = 链路的最大数据传输速率,单位 bps(bits per second)。

2.3 物理介质(Physical Media)

介质类型分类说明
双绞铜线(Twisted Pair)导引型最常见的 LAN 线缆(Cat 5e/6),传输距离有限
同轴电缆(Coaxial Cable)导引型有线电视网络常用
光纤(Fiber Optic)导引型速度最快、距离最远、抗干扰
无线电波(Radio)非导引型WiFi、蜂窝、卫星

导引型(guided)= 信号沿物理介质传播;非导引型(unguided)= 信号在空气/太空中传播。


三、互联网结构:ISP 层级与互联互通

互联网并非一张单一的网络,而是由成千上万个 ISP(Internet Service Provider,互联网服务提供商) 互联互通而形成的网络的网络(network of networks)

3.1 ISP 层级结构

ISP 按覆盖范围和在互联网中的位置分为三个层级:

层级名称覆盖范围特点举例
Tier-1一级 ISP(全球骨干)全球互相免费对等互联(settlement-free peering),不向任何 ISP 付费购买转接AT&T、NTT、Lumen、Telia
Tier-2二级 ISP(区域性)区域 / 国家向 Tier-1 付费购买转接(transit),也可能与其他 Tier-2 对等互联中国电信、中国联通、Cogent
Tier-3 / Access ISP三级 ISP(接入层)本地最末端,直接为终端用户提供接入服务校园网、小区宽带、本地运营商
graph TD
    T1A["Tier-1 ISP A"] <-->|"对等互联(免费)"| T1B["Tier-1 ISP B"]
    T1A -->|"转接(付费)"| T2C["Tier-2 ISP C"]
    T1B -->|"转接(付费)"| T2D["Tier-2 ISP D"]
    T2C <-->|"可能对等互联"| T2D
    T2C --> T3A["Tier-3 / Access ISP"]
    T2D --> T3B["Tier-3 / Access ISP"]
    T3A --> U1["用户终端"]
    T3B --> U2["用户终端"]

转接(Transit):下级 ISP 向上级 ISP 付费,上级 ISP 帮助其数据到达互联网的任何地方。类比:你付给快递公司运费,快递公司帮你把包裹送到全国各地。

3.2 对等互联(Peering)与互联网交换点(IXP)

对等互联(Peering)与 AS 间流量不对等

两个 ISP(或自治系统 AS)之间直接互联交换流量,不经过第三方、不付转接费,这被称为免费对等互联(settlement-free peering)

为什么要 Peering? 如果两个 Tier-2 ISP 的用户之间有大量通信,走 Tier-1 转接既慢又贵。直接互联可以降低延迟、降低成本。

如何实现互联?
这依赖于互联网的核心路由协议——BGP(Border Gateway Protocol,边界网关协议)。BGP 让不同的网络(AS,Autonomous System)能够互相宣告"我这能通往哪些 IP",从而在宏观层面上把一个个孤岛连接成全球互联网。

现实中的流量不对等问题(Traffic Asymmetry)
免费 Peering 的前提是"双方流量大致相等"。但现实中,往往是内容提供商(如视频网站)单向向受众 ISP(如家庭宽带)发送海量数据

互联网交换点(IXP,Internet Exchange Point)

一个物理基础设施(通常是大型数据中心),多家 ISP 在此汇聚并互相交换流量。

特点说明
本质一个共享的交换平台(通常是高速以太网交换机)
参与者Tier-1、Tier-2、CDN、大型内容提供商等
好处降低转接成本、减少延迟、提高可靠性
知名 IXPDE-CIX(法兰克福)、AMS-IX(阿姆斯特丹)、LINX(伦敦)
graph LR
    A["ISP A"] --- IXP["IXP 交换平台"]
    B["ISP B"] --- IXP
    C["ISP C"] --- IXP
    CDN["CDN X"] --- IXP
    G["Google"] --- IXP
    IXP --- D["ISP D"]
    IXP --- E["ISP E"]
    IXP --- F["ISP F"]

PoP(Point of Presence,入网点)

ISP 在各地设置的接入机房,内含路由器、交换机等设备,是下级 ISP 或客户接入该 ISP 网络的物理连接点。一个 ISP 可以有多个 PoP 分布在不同城市。

PoP vs IXP:PoP 是单个 ISP 的接入点("我的大门");IXP 是多家 ISP 共享的交换平台("公共集市")。下级 ISP 在上级 ISP 的 PoP 处接入并购买转接服务,而在 IXP 处则是多方平等互联。

现实联想:家里路由器做 PPPoE"拨号上网"时,你的认证请求就是发往 ISP 最近的 PoP——那里的设备(BRAS/BNG)验证你的账号密码、分配 IP。所以 PoP 就是你拨号时"对面接电话的机房"

3.3 多宿主(Multi-homing)

一个 ISP 或企业同时连接多个上游 ISP,以提高可靠性和性能。

类比:就像一栋楼同时接了电信和联通两条宽带。如果电信线路故障,还能通过联通上网。

3.4 内容提供商网络 & CDN

内容提供商自建网络

Google、Microsoft、Meta 等大型内容提供商建设了自己的全球专用网络,绕过公共互联网的层级结构,直接与各级 ISP 和 IXP 互联。

这些公司的流量占互联网的很大比例,自建网络可以降低成本、控制用户体验

CDN(Content Delivery Network,内容分发网络)

CDN 在全球部署大量边缘服务器(edge server),将内容缓存到离用户最近的节点,从而加速内容传输。

概念说明
核心思想把内容"搬"到离用户近的地方,而不是让用户去远处取
工作方式用户请求内容 → DNS 将请求引导到最近的 CDN 节点 → 边缘服务器返回缓存内容
部署策略Enter Deep(深入部署到接入 ISP)vs Bring Home(部署在少数 IXP/大型数据中心)
典型厂商Akamai、Cloudflare、AWS CloudFront、Google Cloud CDN
graph TD
    Origin["源站服务器 (Origin)"] -->|"内容分发"| Asia["CDN 节点(亚洲)"]
    Origin -->|"内容分发"| Europe["CDN 节点(欧洲)"]
    Origin -->|"内容分发"| America["CDN 节点(美洲)"]
    Asia -->|"就近访问"| U1["亚洲用户"]
    Europe -->|"就近访问"| U2["欧洲用户"]
    America -->|"就近访问"| U3["美洲用户"]

CDN 的价值:如果你在中国访问一个美国网站,没有 CDN 时数据要跨越太平洋。有了 CDN,第一次访问后内容被缓存到中国的边缘节点,后续访问直接从本地获取,延迟从 200ms 降到 20ms。

3.5 互联网结构总览

graph TD
    subgraph "全球骨干"
        T1A["Tier-1 ISP"] <-->|"对等互联"| T1B["Tier-1 ISP"]
    end
    subgraph "区域运营商"
        T2A["Tier-2 ISP"] ~~~ T2B["Tier-2 ISP"]
    end
    subgraph "接入层"
        A1["Access ISP"] ~~~ A2["Access ISP"]
    end
    subgraph "交换 / 缓存"
        IXP1["IXP"] --- CDN["CDN"] --- IXP2["IXP"]
    end
    subgraph "内容源"
        CP["内容提供商自建网络(Google, Meta…)"]
    end
    T1A --> T2A
    T1B --> T2B
    T2A --> A1
    T2B --> A2
    A1 --- IXP1
    A2 --- IXP2
    CP --- IXP1
    CP --- IXP2

今天的互联网远非简单的层级树状结构,而是一张错综复杂的网——Tier-1 之间互相对等、Tier-2 跨层直连 IXP、大型内容提供商建设全球专网、CDN 节点深入到每个城市。理解这个结构,有助于理解为什么你访问不同网站的速度差异巨大。


四、网络核心(Network Core):交换方式

网络核心的本质问题是:如何把数据从源端搬运到目的端? 有两种根本不同的思路。

3.1 电路交换(Circuit Switching)

核心思想

在通信开始前,先在源和目的之间建立一条专用的端到端通路,该通路在整个通信期间独占资源,即使某一时刻没有数据在传,资源也不会让给别人。

类比:就像打传统电话——拨通后,你和对方之间有一条"专线"。即使你沉默不说话,线路也被你占着,别人不能用。

工作流程

① 建立连接(setup):沿途每个交换机预留资源

② 通信(data transfer):数据沿专用路径传输,无需排队

③ 拆除连接(teardown):释放预留的资源

资源复用方式

一条物理链路如何同时承载多路通话?两种经典方案:

频分复用(FDM,Frequency Division Multiplexing)

将链路的频率带宽划分为多个频段(frequency band),每路通信独占一个频段。

频率 ↑
     │ ┌──── 用户 4 ────┐
     │ ├──── 用户 3 ────┤
     │ ├──── 用户 2 ────┤
     │ └──── 用户 1 ────┘
     └─────────────────────→ 时间
       每个用户始终占用自己的频段

每个用户分到的带宽 = 总带宽 / 用户数。例如:链路总带宽 1 MHz,分 4 路,每路 250 kHz。

时分复用(TDM,Time Division Multiplexing)

将时间划分为等长的帧(frame),每帧再分成若干时隙(slot),每路通信在每帧中占用固定时隙。

时间 →
帧1: [用户1][用户2][用户3][用户4]
帧2: [用户1][用户2][用户3][用户4]
帧3: [用户1][用户2][用户3][用户4]
     └─── 每个用户在每帧中占一个时隙 ───┘

每个用户分到的传输速率 = 链路总速率 / 用户数。例如:链路 1.536 Mbps,24 路 TDM,每路 64 kbps。

电路交换的计算例题

典型例题:一条 1.536 Mbps 的链路使用 TDM 分成 24 个时隙。每路用户的可用带宽是多少?传输 640,000 bit 的文件需要多长时间?另外建立连接需要 500 ms。

  • 每路带宽 = 1.536 Mbps ÷ 24 = 64 kbps
  • 传输时间 = 640,000 bit ÷ 64,000 bps = 10 s
  • 总时间 = 建立连接 0.5 s + 传输 10 s = 10.5 s

优缺点

优点缺点
传输延迟稳定、有保障资源利用率低(静默期浪费)
适合实时通信(如传统电话)建立连接有延迟
无拥塞(资源已预留)不灵活,用户数受限于时隙/频段数

3.2 分组交换(Packet Switching)

核心思想

数据被切分成一个个小的分组(packet),每个分组独立地在网络中转发,不需要预先建立连接,各分组可能走不同的路径。路由器对每个分组存储-转发(store-and-forward)

类比:就像寄快递——每个包裹(分组)独立投递,走哪条路、什么时候到都是独立的。你不需要提前"预定"一条专用路线。

存储-转发(Store-and-Forward)

分组交换机(路由器)必须完整接收一个分组之后,才能开始向下一段链路转发该分组。

源 ───[L bit]──→ 路由器 ───[L bit]──→ 目的
      R bps          R bps

传输延迟 = L/R(一跳)
经过 N 段链路的总延迟 = N × L/R(忽略传播延迟和排队延迟时)

为什么要存储-转发? 因为路由器需要完整收到分组后才能检查目的地址、查路由表,决定往哪个端口转发。这里的转发和生活中发快递类似——快递站要先收到你的包裹,核验地址后再发往下一站。

排队与丢包

每个路由器为每条输出链路维护一个输出队列(output queue / buffer)。当分组到达速率暂时超过输出链路的传输速率时,分组就在队列中排队等待

           到达        输出链路
 分组 ──→ [□□□□□] ──→ (R bps)
           ↑ 排队缓冲区

 · 若缓冲区满 → 到达的分组被丢弃(packet loss)
 · 排队中的分组经历排队延迟(queuing delay)

丢包的根本原因:路由器缓冲区容量有限。当网络拥塞时,分组到达速率 > 链路传输速率,缓冲区溢出,分组被丢弃(dropped / lost)。丢失的分组可由上层协议(如 TCP)重传。

统计复用(Statistical Multiplexing)

分组交换的资源共享方式与电路交换截然不同——它采用统计复用

为什么分组交换更高效? 因为大多数网络流量是突发性的——用户并非时刻都在传数据。电路交换为每个用户永久预留带宽,大量时间空闲浪费;分组交换让空闲带宽被其他用户利用。

分组交换 vs 电路交换:经典对比例题

例题:一条 1 Mbps 的链路。电路交换方案中每个用户需要 100 kbps,那么最多支持 10 个用户

如果改用分组交换:假设每个用户只有 10% 的时间在活跃传输(p = 0.1),那么 35 个用户同时有 >10 个活跃的概率 < 0.0004(极低)。

→ 分组交换能让 35 个用户 共享同一条链路而几乎不受影响,电路交换只能支持 10 个。

综合对比:

电路交换分组交换
资源分配预留、独占按需、共享
建立连接需要不需要
资源利用率低(静默浪费)(统计复用)
延迟特性稳定、可预测变化、有排队延迟
丢包不会拥塞时可能丢包
适合场景传统电话网互联网(数据通信)
用户数受限于时隙/频段数可支持更多突发用户

结论:互联网选择了分组交换,因为数据流量的突发性特点让分组交换的统计复用优势远大于电路交换的稳定性优势。


五、延迟、丢包与吞吐量

5.1 分组延迟的四个组成部分

一个分组从一个路由器节点到下一个路由器节点,经历的总延迟(nodal delay):

dnodal=dproc+dqueue+dtrans+dpropd_{\text{nodal}} = d_{\text{proc}} + d_{\text{queue}} + d_{\text{trans}} + d_{\text{prop}}
延迟分量名称含义典型量级
dprocd_{\text{proc}}处理延迟(Processing Delay)检查分组头部、查路由表、检错微秒级
dqueued_{\text{queue}}排队延迟(Queuing Delay)在输出队列中等待被传输微秒 ~ 毫秒(取决于拥塞程度)
dtransd_{\text{trans}}传输延迟(Transmission Delay)把分组的所有比特推上链路与分组长度和链路带宽有关
dpropd_{\text{prop}}传播延迟(Propagation Delay)比特在物理介质中从 A 传到 B与物理距离和传播速度有关

传输延迟 vs 传播延迟(最易混淆!)

这是考试和理解中最容易搞混的一对概念:

传输延迟 dtransd_{\text{trans}}传播延迟 dpropd_{\text{prop}}
公式L/RL / Rd/sd / s
L分组长度(bit)
R链路带宽(bps)
d物理链路长度(m)
s信号传播速度(约 2×1082 \times 10^8 m/s)
类比收费站放行所有车辆所需的时间车辆从收费站跑到下一站的时间
取决于分组大小 和 带宽物理距离 和 介质

收费站类比:一队 10 辆车(= 分组的 10 个 bit)过收费站。

  • 传输延迟 = 收费站把 10 辆车全部放行的时间(每辆 12 秒 → 共 120 秒)
  • 传播延迟 = 每辆车从这个收费站开到下一个收费站的时间(100km ÷ 100km/h = 1 小时)

两者完全独立:传输延迟取决于"车队多大、放行多快",传播延迟取决于"路有多长、车跑多快"。

如何减少四种延迟?

每种延迟的瓶颈不同,对应的优化策略也有所区别:

延迟类型主要优化方向现实中的解决手段举例
处理延迟提升网络设备(路由器/交换机)的算力购买更高性能的路由器;采用专用硬件芯片(ASIC)加速查表
排队延迟缓解拥塞,或者让关键流量插队升级带宽缓解拥挤;配置 QoS(服务质量) 给语音/游戏流量高优先级
传输延迟提高链路带宽(买更粗的"水管")家宽从百兆升级到千兆;骨干网升级到 400G 光口
传播延迟缩短物理距离(光速是物理极限,无法突破)尽量把服务器放到离用户近的地方(CDN 的核心意义

5.2 排队延迟与流量强度

排队延迟是四种延迟中变化最大的,取决于网络的拥塞程度。用流量强度(traffic intensity) 来衡量:

流量强度=LaR\text{流量强度} = \frac{L \cdot a}{R}

其中:

流量强度范围排队延迟状态
La/R0La/R \approx 0几乎无排队延迟
La/R1La/R \to 1排队延迟急剧增大(趋向无穷)
La/R>1La/R > 1到达速率超过服务速率,队列无限增长 → 丢包

设计准则:系统不应在 La/R1La/R \geq 1 的状态下运行。实际工程中通常要求流量强度远小于 1(如 ≤ 0.7),以保证延迟在可接受范围。

排队延迟

    │          ╱
    │        ╱
    │      ╱
    │   ──╱
    │  ╱
    │╱
    └──────────────→ 流量强度 La/R
    0              1
    当 La/R → 1 时,延迟趋于无穷大

5.3 排队论基础(Queuing Theory)

排队论(Queuing Theory)是分析分组交换网络中排队延迟和丢包的数学工具。

基本模型:M/M/1 队列

最简单的排队模型,用于直观理解网络节点的排队行为:

符号含义
M(第一个)到达过程服从泊松分布(Poisson)(即到达间隔服从指数分布)
M(第二个)服务时间服从指数分布
1只有 1 个服务器(一条输出链路)

参数定义:

参数含义单位
λ\lambda平均到达速率(分组/秒)pkt/s
μ\mu平均服务速率(分组/秒)pkt/s
ρ=λ/μ\rho = \lambda / \mu服务器利用率(= 流量强度 La/RLa/R无量纲

稳定条件:ρ<1\rho < 1(即 λ<μ\lambda < \mu),否则队列无限增长。

M/M/1 的关键公式:

平均队列中的分组数(含正在服务的):N=ρ1ρ\text{平均队列中的分组数(含正在服务的):} \quad N = \frac{\rho}{1 - \rho} 平均排队等待时间:Wq=ρμ(1ρ)\text{平均排队等待时间:} \quad W_q = \frac{\rho}{\mu(1 - \rho)} 平均系统逗留时间(排队 + 服务):W=1μλ=1μ(1ρ)\text{平均系统逗留时间(排队 + 服务):} \quad W = \frac{1}{\mu - \lambda} = \frac{1}{\mu(1 - \rho)}

Little's Law(利特尔定律)——排队论中最著名的公式:

N=λWN = \lambda \cdot W

公式含义:系统中的平均分组数 (NN) = 到达速率 (λ\lambda) × 平均逗留时间 (WW)。

奶茶店类比
假设一家奶茶店平均每分钟进店 2 个客人(到达速率 λ=2\lambda = 2),每个客人从排队点单到拿到奶茶离开平均需要花费 10 分钟(逗留时间 W=10W = 10)。
那么这个时候往店里看去,平时店里平均会有多少个客人?答案是 2×10=202 \times 10 = 20 个人(系统中的总人数 N=20N = 20)。

为什么它很重要? 这个公式极其强大,因为它不依赖于任何复杂的概率分布假设。不管是路由器的缓冲区、奶茶店还是银行排队,只要系统是稳定的(进出平衡),这个定律永远成立。

感觉little's law在现实的应用也就是给直觉的排队估计给了一份理论性依据……

排队论例题

例题:路由器输出链路带宽 R = 1 Mbps,分组平均长度 L = 1000 bit,分组以泊松过程到达,平均到达速率 λ\lambda = 500 pkt/s。

  • 服务速率 μ=R/L=106/103=1000\mu = R / L = 10^6 / 10^3 = 1000 pkt/s
  • 利用率 ρ=λ/μ=500/1000=0.5\rho = \lambda / \mu = 500 / 1000 = 0.5
  • 平均系统逗留时间 W=1/(μλ)=1/500=2W = 1 / (\mu - \lambda) = 1 / 500 = 2 ms
  • 平均排队等待时间 Wq=ρ/[μ(1ρ)]=0.5/(1000×0.5)=1W_q = \rho / [\mu(1 - \rho)] = 0.5 / (1000 \times 0.5) = 1 ms
  • 系统中平均分组数 N=λW=500×0.002=1N = \lambda \cdot W = 500 \times 0.002 = 1

其他常见排队模型与 M/D/1

坎德尔记号(Kendall's notation) 中,字母分别代表:到达过程 / 服务时间分布 / 服务器数量

M/D/1 为例可以很好地理解这种拆分:

  1. M (Markovian):客人(分组)什么时间到达是完全随机的(泊松分布/无记忆性)。
  2. D (Deterministic):服务时间是绝对固定的(方差为0)。在真实的计算机网络中,这对应于所有网络包长度一模一样的场景(比如早期的 ATM 网络规定所有信元必须是死死的 53 字节)。既然每个包长度 LL 恒定、链路带宽 RR 恒定,那么发送器把它推出去的时间(传输延迟 L/RL/R)也就绝对恒定。
  3. 1:只有 1 个服务窗口(即 1 条输出链路)。

直观理解:“客人完全随机涌进店里,但我们只有一条生产线,且每次加工绝对准时分秒不差。”这种高度的确切性大大缓解了排队压力。

M/D/1 的平均排队等待时间恰好是 M/M/1(服务时间也随机)的一半:WqM/D/1=WqM/M/1/2W_q^{M/D/1} = W_q^{M/M/1} / 2。这说明服务时间越确定(方差越小),排队延迟越小。

模型到达过程服务时间服务器数适用场景
M/M/1泊松指数1基础分析
M/D/1泊松固定长度1定长分组(如 ATM 信元)
M/M/c泊松指数c 个多链路/多服务器系统
M/G/1泊松一般分布1变长分组的更精确建模(G = General)

M/M/c vs c 个 M/M/1(银行排队启示)
现实中一个非常经典的排队论推论是:"大长队统一排"永远优于"分散去排队"

  • 分散排队(超市收银):大家都挑一条队伍排(相当于 cc 个独立的 M/M/1 队列)。一旦你前面遇到一个人结账特慢(比如疯狂翻硬币找零,即服务时间波动大),这一整条队伍就会完全停滞!即便隔壁队伍的收银员闲着也帮不了你。这就是典型的队头阻塞(HOL Blocking)
  • 统一排队(银行取号 / 机场安检蛇形阵):所有人排在一个总队列,前面有 cc 个窗口(这就叫 M/M/c 模型)。只要任何一个窗口空闲下来,总队列的最前面那个人就立刻过去。绝对不会出现某个员工闲着发呆而客户还在苦等的现象,实现了资源利用率的最大化。

结论:在降低平均等待时间 WqW_q 上,单一主队列统筹分配(M/M/c)完美吊打分散多队列(cc 个 M/M/1)!这也是为何现代服务大厅几乎全改成了取号系统的根本数学原理。


5.4 丢包(Packet Loss)

路由器缓冲区容量有限(有限队列长度)。当队列已满时,新到达的分组被丢弃

丢包率=丢弃的分组数总到达分组数\text{丢包率} = \frac{\text{丢弃的分组数}}{\text{总到达分组数}}

丢失的分组可能:

  • 发送端重传(TCP 的可靠传输机制)
  • 永远丢失(UDP 不提供重传保障)

5.5 端到端延迟

经过 NN 段链路(N1N-1 个路由器)的端到端延迟:

dend-to-end=N×(dproc+dqueue+dtrans+dprop)d_{\text{end-to-end}} = N \times (d_{\text{proc}} + d_{\text{queue}} + d_{\text{trans}} + d_{\text{prop}})

在无拥塞、忽略排队的理想情况下:

dend-to-end=N×(dproc+LR+ds)d_{\text{end-to-end}} = N \times (d_{\text{proc}} + \frac{L}{R} + \frac{d}{s})

Traceroute:实际测量端到端路径延迟的工具。发送 TTL 递增的探测分组,沿途每个路由器返回 ICMP 超时报文,从而暴露出每一跳的 IP 和往返时延(RTT)。


5.6 吞吐量(Throughput)

吞吐量:单位时间内目的端实际接收到的数据量(bps)。

端到端吞吐量取决于路径上速率最低的那条链路

源 ──[Rs]──→ 路由器 ──[Rc]──→ 目的

吞吐量 = min(Rs, Rc)

当多条流共享一条链路时,每条流分到的吞吐量 = 链路带宽 / 流的数量。例如 10 条流共享 R bps 的骨干链路 → 每条流约 R/10 bps。


六、协议分层(Protocol Layering)

6.1 为什么要分层?

网络通信极其复杂,分层是将复杂系统分解为可管理的模块的方法。每层只关注自己的功能,通过定义良好的接口与上下层交互。

类比:航空运输系统也是分层的——售票、行李托运、登机口、跑道起飞、航线控制——每一层各司其职,独立变化而不影响其他层。

6.2 五层因特网协议栈

层级名称功能协议示例PDU 名称
5应用层(Application)为用户应用提供网络服务HTTP、SMTP、DNS、FTP报文(Message)
4传输层(Transport)进程到进程的数据传输TCPUDP报文段(Segment)
3网络层(Network)主机到主机的数据路由IP、ICMP数据报(Datagram)
2链路层(Data Link)相邻节点间的帧传输Ethernet、WiFi帧(Frame)
1物理层(Physical)比特流在物理介质上传输电气/光学信号规范比特(Bit)

PDU(Protocol Data Unit):每一层对数据的称呼不同——应用层叫报文,传输层叫段,网络层叫数据报,链路层叫帧。

6.3 封装(Encapsulation)

数据从应用层向下传递时,每经过一层都会加上该层的头部(header),这个过程叫封装:

应用层:                [  数据  ]
                         ↓ 加传输层头部
传输层:          [Ht][  数据  ]
                         ↓ 加网络层头部
网络层:     [Hn][Ht][  数据  ]
                         ↓ 加链路层头部和尾部
链路层:[Hl][Hn][Ht][  数据  ][尾]

物理层:  01101001101010110...(比特流)

接收端则逐层拆封(解封装),每层读取并去掉自己的头部,把剩余数据交给上层。

信封类比:写信(应用层数据)→ 装入信封写地址(传输层)→ 装入大信封贴邮票(网络层)→ 放进邮袋(链路层)。每个中间环节只看自己那层的"信封"信息。

6.4 ISO/OSI 七层模型 vs 五层模型

OSI 七层因特网五层说明
应用层应用层合并
表示层数据格式转换、加密(在因特网中由应用层处理)
会话层会话管理(在因特网中由应用层处理)
传输层传输层相同
网络层网络层相同
数据链路层链路层相同
物理层物理层相同

实际的因特网采用五层模型,OSI 七层是理论参考模型。表示层和会话层的功能在因特网中由应用自行实现(如 SSL/TLS 加密)。


七、网络性能度量指标汇总

指标定义公式 / 单位
带宽(Bandwidth)链路最大传输速率bps
吞吐量(Throughput)实际接收到的数据速率bps
延迟(Delay / Latency)分组从源到目的所需时间
RTT(往返时延)分组从源到目的再返回的时间
丢包率(Packet Loss Rate)丢弃分组占总分组的比例%
时延带宽积链路上能容纳的最大比特数=传播延迟×带宽= \text{传播延迟} \times \text{带宽}(bit)

时延带宽积的直觉:把链路想象成一根管道,传播延迟决定管道长度,带宽决定管道粗细。时延带宽积就是管道的"容量"——传输时链路上同时在传的比特总数。


八、关键术语速查

英文中文一句话解释
Packet Switching分组交换数据切成小包独立转发,按需共享链路
Circuit Switching电路交换先建专用通路,通信期间独占资源
Store-and-Forward存储转发收完整个分组后才转发到下一跳
Statistical Multiplexing统计复用按需共享带宽,不预留
FDM频分复用按频率划分信道
TDM时分复用按时间片划分信道
ISP互联网服务提供商为终端用户或下级网络提供互联网接入
Tier-1 ISP一级 ISP全球骨干网络,互相免费对等互联
Tier-2 ISP二级 ISP区域性 ISP,向 Tier-1 付费购买转接
IXP互联网交换点多家 ISP 汇聚并交换流量的物理设施
Peering对等互联两个 ISP 直接互联交换流量,不付转接费
Transit转接下级 ISP 向上级付费获取全网可达性
Multi-homing多宿主同时连接多个上游 ISP 以提高可靠性
CDN内容分发网络在全球部署边缘服务器缓存内容,就近服务用户
AS自治系统拥有统一路由策略的独立网络(通常对应一个 ISP)
BGP边界网关协议AS 之间交换路由信息的互联网核心协议
Traffic Intensity流量强度La/RLa/R,衡量拥塞程度
Queuing Delay排队延迟分组在路由器缓冲区中等待的时间
Propagation Delay传播延迟信号在物理链路上传播的时间
Transmission Delay传输延迟把分组所有比特推上链路的时间
Throughput吞吐量单位时间实际传输的数据量
Bottleneck Link瓶颈链路路径上速率最低的链路
Protocol Stack协议栈各层协议的集合
Encapsulation封装下层为上层数据添加头部
Little's Law利特尔定律N=λWN = \lambda W,排队论基本定律


0 / 2000
Loading comments...